package cn.ibizlab.odoo.core.odoo_fetchmail.domain;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.ibizlab.odoo.core.util.annotation.DEField;
import cn.ibizlab.odoo.core.util.annotation.DEPredefinedField;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldFillMode;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldType;
import java.io.Serializable;

/**
 * 实体[Incoming Mail Server]
 */
public class Fetchmail_server implements Serializable {

	private static final long serialVersionUID = 1L;

    /**
     * 用户名
     */
    private String user;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean userDirtyFlag;

    /**
     * 显示名称
     */
    private String display_name;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean display_nameDirtyFlag;

    /**
     * 脚本
     */
    private String script;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean scriptDirtyFlag;

    /**
     * 配置
     */
    private String configuration;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean configurationDirtyFlag;

    /**
     * 最后收取日期
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp date;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean dateDirtyFlag;

    /**
     * 服务器类型
     */
    private String type;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean typeDirtyFlag;

    /**
     * 密码
     */
    private String password;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean passwordDirtyFlag;

    /**
     * 消息
     */
    private String message_ids;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean message_idsDirtyFlag;

    /**
     * 创建时间
     */
    @DEPredefinedField(fill= DEPredefinedFieldFillMode.INSERT,preType = DEPredefinedFieldType.CREATEDATE)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp create_date;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean create_dateDirtyFlag;

    /**
     * 服务器名称
     */
    private String server;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean serverDirtyFlag;

    /**
     * 端口
     */
    private Integer port;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean portDirtyFlag;

    /**
     * SSL/TLS
     */
    private String is_ssl;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean is_sslDirtyFlag;

    /**
     * 名称
     */
    private String name;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean nameDirtyFlag;

    /**
     * 服务器优先级
     */
    private Integer priority;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean priorityDirtyFlag;

    /**
     * 最后修改日
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp __last_update;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean __last_updateDirtyFlag;

    /**
     * 创建新记录
     */
    private Integer object_id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean object_idDirtyFlag;

    /**
     * ID
     */
    @DEField(isKeyField=true)
    private Integer id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean idDirtyFlag;

    /**
     * 状态
     */
    private String state;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean stateDirtyFlag;

    /**
     * 有效
     */
    private String active;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean activeDirtyFlag;

    /**
     * 最后更新时间
     */
    @DEPredefinedField(fill= DEPredefinedFieldFillMode.INSERT_UPDATE,preType = DEPredefinedFieldType.UPDATEDATE)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp write_date;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean write_dateDirtyFlag;

    /**
     * 保存附件
     */
    private String attach;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean attachDirtyFlag;

    /**
     * 保留原件
     */
    private String original;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean originalDirtyFlag;

    /**
     * 创建人
     */
    private String create_uid_text;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean create_uid_textDirtyFlag;

    /**
     * 最后更新人
     */
    private String write_uid_text;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean write_uid_textDirtyFlag;

    /**
     * 创建人
     */
    @DEPredefinedField(fill= DEPredefinedFieldFillMode.INSERT,preType = DEPredefinedFieldType.CREATEMAN)
    private Integer create_uid;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean create_uidDirtyFlag;

    /**
     * 最后更新人
     */
    @DEPredefinedField(fill= DEPredefinedFieldFillMode.INSERT_UPDATE,preType = DEPredefinedFieldType.UPDATEMAN)
    private Integer write_uid;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean write_uidDirtyFlag;


    /**
     * 获取 [用户名]
     */
    @JsonProperty("user")
    @JSONField(name="user")
    public String getUser(){
        return this.user ;
    }

    /**
     * 设置 [用户名]
     */
    @JsonProperty("user")
    @JSONField(name="user")
    public void setUser(String user){
        this.user = user ;
        this.userDirtyFlag = true ;
    }

    /**
     * 获取 [用户名]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getUserDirtyFlag(){
        return this.userDirtyFlag ;
    }
    /**
     * 获取 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public String getDisplay_name(){
        return this.display_name ;
    }

    /**
     * 设置 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public void setDisplay_name(String display_name){
        this.display_name = display_name ;
        this.display_nameDirtyFlag = true ;
    }

    /**
     * 获取 [显示名称]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDisplay_nameDirtyFlag(){
        return this.display_nameDirtyFlag ;
    }
    /**
     * 获取 [脚本]
     */
    @JsonProperty("script")
    @JSONField(name="script")
    public String getScript(){
        return this.script ;
    }

    /**
     * 设置 [脚本]
     */
    @JsonProperty("script")
    @JSONField(name="script")
    public void setScript(String script){
        this.script = script ;
        this.scriptDirtyFlag = true ;
    }

    /**
     * 获取 [脚本]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getScriptDirtyFlag(){
        return this.scriptDirtyFlag ;
    }
    /**
     * 获取 [配置]
     */
    @JsonProperty("configuration")
    @JSONField(name="configuration")
    public String getConfiguration(){
        return this.configuration ;
    }

    /**
     * 设置 [配置]
     */
    @JsonProperty("configuration")
    @JSONField(name="configuration")
    public void setConfiguration(String configuration){
        this.configuration = configuration ;
        this.configurationDirtyFlag = true ;
    }

    /**
     * 获取 [配置]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getConfigurationDirtyFlag(){
        return this.configurationDirtyFlag ;
    }
    /**
     * 获取 [最后收取日期]
     */
    @JsonProperty("date")
    @JSONField(name="date")
    public Timestamp getDate(){
        return this.date ;
    }

    /**
     * 设置 [最后收取日期]
     */
    @JsonProperty("date")
    @JSONField(name="date")
    public void setDate(Timestamp date){
        this.date = date ;
        this.dateDirtyFlag = true ;
    }

    /**
     * 获取 [最后收取日期]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDateDirtyFlag(){
        return this.dateDirtyFlag ;
    }
    /**
     * 获取 [服务器类型]
     */
    @JsonProperty("type")
    @JSONField(name="type")
    public String getType(){
        return this.type ;
    }

    /**
     * 设置 [服务器类型]
     */
    @JsonProperty("type")
    @JSONField(name="type")
    public void setType(String type){
        this.type = type ;
        this.typeDirtyFlag = true ;
    }

    /**
     * 获取 [服务器类型]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getTypeDirtyFlag(){
        return this.typeDirtyFlag ;
    }
    /**
     * 获取 [密码]
     */
    @JsonProperty("password")
    @JSONField(name="password")
    public String getPassword(){
        return this.password ;
    }

    /**
     * 设置 [密码]
     */
    @JsonProperty("password")
    @JSONField(name="password")
    public void setPassword(String password){
        this.password = password ;
        this.passwordDirtyFlag = true ;
    }

    /**
     * 获取 [密码]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getPasswordDirtyFlag(){
        return this.passwordDirtyFlag ;
    }
    /**
     * 获取 [消息]
     */
    @JsonProperty("message_ids")
    @JSONField(name="message_ids")
    public String getMessage_ids(){
        return this.message_ids ;
    }

    /**
     * 设置 [消息]
     */
    @JsonProperty("message_ids")
    @JSONField(name="message_ids")
    public void setMessage_ids(String message_ids){
        this.message_ids = message_ids ;
        this.message_idsDirtyFlag = true ;
    }

    /**
     * 获取 [消息]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getMessage_idsDirtyFlag(){
        return this.message_idsDirtyFlag ;
    }
    /**
     * 获取 [创建时间]
     */
    @JsonProperty("create_date")
    @JSONField(name="create_date")
    public Timestamp getCreate_date(){
        return this.create_date ;
    }

    /**
     * 设置 [创建时间]
     */
    @JsonProperty("create_date")
    @JSONField(name="create_date")
    public void setCreate_date(Timestamp create_date){
        this.create_date = create_date ;
        this.create_dateDirtyFlag = true ;
    }

    /**
     * 获取 [创建时间]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getCreate_dateDirtyFlag(){
        return this.create_dateDirtyFlag ;
    }
    /**
     * 获取 [服务器名称]
     */
    @JsonProperty("server")
    @JSONField(name="server")
    public String getServer(){
        return this.server ;
    }

    /**
     * 设置 [服务器名称]
     */
    @JsonProperty("server")
    @JSONField(name="server")
    public void setServer(String server){
        this.server = server ;
        this.serverDirtyFlag = true ;
    }

    /**
     * 获取 [服务器名称]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getServerDirtyFlag(){
        return this.serverDirtyFlag ;
    }
    /**
     * 获取 [端口]
     */
    @JsonProperty("port")
    @JSONField(name="port")
    public Integer getPort(){
        return this.port ;
    }

    /**
     * 设置 [端口]
     */
    @JsonProperty("port")
    @JSONField(name="port")
    public void setPort(Integer port){
        this.port = port ;
        this.portDirtyFlag = true ;
    }

    /**
     * 获取 [端口]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getPortDirtyFlag(){
        return this.portDirtyFlag ;
    }
    /**
     * 获取 [SSL/TLS]
     */
    @JsonProperty("is_ssl")
    @JSONField(name="is_ssl")
    public String getIs_ssl(){
        return this.is_ssl ;
    }

    /**
     * 设置 [SSL/TLS]
     */
    @JsonProperty("is_ssl")
    @JSONField(name="is_ssl")
    public void setIs_ssl(String is_ssl){
        this.is_ssl = is_ssl ;
        this.is_sslDirtyFlag = true ;
    }

    /**
     * 获取 [SSL/TLS]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getIs_sslDirtyFlag(){
        return this.is_sslDirtyFlag ;
    }
    /**
     * 获取 [名称]
     */
    @JsonProperty("name")
    @JSONField(name="name")
    public String getName(){
        return this.name ;
    }

    /**
     * 设置 [名称]
     */
    @JsonProperty("name")
    @JSONField(name="name")
    public void setName(String name){
        this.name = name ;
        this.nameDirtyFlag = true ;
    }

    /**
     * 获取 [名称]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getNameDirtyFlag(){
        return this.nameDirtyFlag ;
    }
    /**
     * 获取 [服务器优先级]
     */
    @JsonProperty("priority")
    @JSONField(name="priority")
    public Integer getPriority(){
        return this.priority ;
    }

    /**
     * 设置 [服务器优先级]
     */
    @JsonProperty("priority")
    @JSONField(name="priority")
    public void setPriority(Integer priority){
        this.priority = priority ;
        this.priorityDirtyFlag = true ;
    }

    /**
     * 获取 [服务器优先级]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getPriorityDirtyFlag(){
        return this.priorityDirtyFlag ;
    }
    /**
     * 获取 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public Timestamp get__last_update(){
        return this.__last_update ;
    }

    /**
     * 设置 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public void set__last_update(Timestamp __last_update){
        this.__last_update = __last_update ;
        this.__last_updateDirtyFlag = true ;
    }

    /**
     * 获取 [最后修改日]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean get__last_updateDirtyFlag(){
        return this.__last_updateDirtyFlag ;
    }
    /**
     * 获取 [创建新记录]
     */
    @JsonProperty("object_id")
    @JSONField(name="object_id")
    public Integer getObject_id(){
        return this.object_id ;
    }

    /**
     * 设置 [创建新记录]
     */
    @JsonProperty("object_id")
    @JSONField(name="object_id")
    public void setObject_id(Integer object_id){
        this.object_id = object_id ;
        this.object_idDirtyFlag = true ;
    }

    /**
     * 获取 [创建新记录]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getObject_idDirtyFlag(){
        return this.object_idDirtyFlag ;
    }
    /**
     * 获取 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public Integer getId(){
        return this.id ;
    }

    /**
     * 设置 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public void setId(Integer id){
        this.id = id ;
        this.idDirtyFlag = true ;
    }

    /**
     * 获取 [ID]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getIdDirtyFlag(){
        return this.idDirtyFlag ;
    }
    /**
     * 获取 [状态]
     */
    @JsonProperty("state")
    @JSONField(name="state")
    public String getState(){
        return this.state ;
    }

    /**
     * 设置 [状态]
     */
    @JsonProperty("state")
    @JSONField(name="state")
    public void setState(String state){
        this.state = state ;
        this.stateDirtyFlag = true ;
    }

    /**
     * 获取 [状态]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getStateDirtyFlag(){
        return this.stateDirtyFlag ;
    }
    /**
     * 获取 [有效]
     */
    @JsonProperty("active")
    @JSONField(name="active")
    public String getActive(){
        return this.active ;
    }

    /**
     * 设置 [有效]
     */
    @JsonProperty("active")
    @JSONField(name="active")
    public void setActive(String active){
        this.active = active ;
        this.activeDirtyFlag = true ;
    }

    /**
     * 获取 [有效]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getActiveDirtyFlag(){
        return this.activeDirtyFlag ;
    }
    /**
     * 获取 [最后更新时间]
     */
    @JsonProperty("write_date")
    @JSONField(name="write_date")
    public Timestamp getWrite_date(){
        return this.write_date ;
    }

    /**
     * 设置 [最后更新时间]
     */
    @JsonProperty("write_date")
    @JSONField(name="write_date")
    public void setWrite_date(Timestamp write_date){
        this.write_date = write_date ;
        this.write_dateDirtyFlag = true ;
    }

    /**
     * 获取 [最后更新时间]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getWrite_dateDirtyFlag(){
        return this.write_dateDirtyFlag ;
    }
    /**
     * 获取 [保存附件]
     */
    @JsonProperty("attach")
    @JSONField(name="attach")
    public String getAttach(){
        return this.attach ;
    }

    /**
     * 设置 [保存附件]
     */
    @JsonProperty("attach")
    @JSONField(name="attach")
    public void setAttach(String attach){
        this.attach = attach ;
        this.attachDirtyFlag = true ;
    }

    /**
     * 获取 [保存附件]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getAttachDirtyFlag(){
        return this.attachDirtyFlag ;
    }
    /**
     * 获取 [保留原件]
     */
    @JsonProperty("original")
    @JSONField(name="original")
    public String getOriginal(){
        return this.original ;
    }

    /**
     * 设置 [保留原件]
     */
    @JsonProperty("original")
    @JSONField(name="original")
    public void setOriginal(String original){
        this.original = original ;
        this.originalDirtyFlag = true ;
    }

    /**
     * 获取 [保留原件]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getOriginalDirtyFlag(){
        return this.originalDirtyFlag ;
    }
    /**
     * 获取 [创建人]
     */
    @JsonProperty("create_uid_text")
    @JSONField(name="create_uid_text")
    public String getCreate_uid_text(){
        return this.create_uid_text ;
    }

    /**
     * 设置 [创建人]
     */
    @JsonProperty("create_uid_text")
    @JSONField(name="create_uid_text")
    public void setCreate_uid_text(String create_uid_text){
        this.create_uid_text = create_uid_text ;
        this.create_uid_textDirtyFlag = true ;
    }

    /**
     * 获取 [创建人]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getCreate_uid_textDirtyFlag(){
        return this.create_uid_textDirtyFlag ;
    }
    /**
     * 获取 [最后更新人]
     */
    @JsonProperty("write_uid_text")
    @JSONField(name="write_uid_text")
    public String getWrite_uid_text(){
        return this.write_uid_text ;
    }

    /**
     * 设置 [最后更新人]
     */
    @JsonProperty("write_uid_text")
    @JSONField(name="write_uid_text")
    public void setWrite_uid_text(String write_uid_text){
        this.write_uid_text = write_uid_text ;
        this.write_uid_textDirtyFlag = true ;
    }

    /**
     * 获取 [最后更新人]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getWrite_uid_textDirtyFlag(){
        return this.write_uid_textDirtyFlag ;
    }
    /**
     * 获取 [创建人]
     */
    @JsonProperty("create_uid")
    @JSONField(name="create_uid")
    public Integer getCreate_uid(){
        return this.create_uid ;
    }

    /**
     * 设置 [创建人]
     */
    @JsonProperty("create_uid")
    @JSONField(name="create_uid")
    public void setCreate_uid(Integer create_uid){
        this.create_uid = create_uid ;
        this.create_uidDirtyFlag = true ;
    }

    /**
     * 获取 [创建人]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getCreate_uidDirtyFlag(){
        return this.create_uidDirtyFlag ;
    }
    /**
     * 获取 [最后更新人]
     */
    @JsonProperty("write_uid")
    @JSONField(name="write_uid")
    public Integer getWrite_uid(){
        return this.write_uid ;
    }

    /**
     * 设置 [最后更新人]
     */
    @JsonProperty("write_uid")
    @JSONField(name="write_uid")
    public void setWrite_uid(Integer write_uid){
        this.write_uid = write_uid ;
        this.write_uidDirtyFlag = true ;
    }

    /**
     * 获取 [最后更新人]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getWrite_uidDirtyFlag(){
        return this.write_uidDirtyFlag ;
    }

}

